package com.example.cheapandcheap;

import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

	/*
	 * Life Cycle : 
	 * 	protected void onCreate(Bundle savedInstanceState) : 시작하면 제일 먼저 실행. Activity 초기화. 반드시 구현해야 한다.
	 * 	protected void onStart() : onCreate() 다음 실행. 별로 안씀
	 * 	protected void onResume() : onStart() 다음 실행
	 * 	protected void onPause() : 사용자가 멈추었을때 실행(다른화면이 위에 오고 투명해질때). 
	 * 													이 method 실행이 완료된 후 return된 뒤에 다른 화면이 호출되므로 빨리 처리해야함. 
	 * 													onPause() 후 강제종료하면 onStop()과 onDestroy()는 실행되지 않음.
	 * 	protected void onStop() : 다른 화면으로 전환되었을 때. 별로 안씀
	 * 	protected void onDestroy() : 종료되기 직전 호출됨. isFinishing()를 사용해 강제종료/사용자종료 여부를 판단할 수 있다. 별로 안씀
	 * 
	 * 
	 */
    
	
	/* 시작하면 바로 실행됨 */
	@Override
    protected void onCreate(Bundle savedInstanceState) {  //Bundle class는 Map과 같은 역활(key-value쌍).
        
		/* View setup */
		super.onCreate(savedInstanceState);  //Activity class의 onCreate()는 초기화 역활일 것이다.
        Log.i("MainActivity Log", "onCreate() 실행");  //언제 실행되는지 확인하기 위한 로그
        setContentView(R.layout.activity_main);  //View에 보여줄 페이지 설정(layout 설정). R에 등록되어 있어야 한다.
        // Debug : Log.d(tag, msg) / Info :  Log.i(tag, msg) / Warn : Log.w(tag, msg) / Error : Log.e(tag, msg)
        
        /* 1. Update check */
        
        /* 2. Login check */
        
        /* 3. List download */
        
    }
    
    @Override
	protected void onStart() {
		super.onStart();
	}

	@Override
	protected void onResume() {
		super.onResume();
	}
	
	@Override
	protected void onPause() {
		super.onPause();
	}

	@Override
	protected void onStop() {
		super.onStop();
	}
	
	@Override
	protected void onDestroy() {
		super.onDestroy();
	}

	@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
	//inner class
	public class ButtonHandler implements View.OnClickListener{
	
		@Override 
		public void onClick(View v) {
			
		}
		
	}
	/* Update Check method */
	public void updateCheck(){ 
		try {
			// Server에 socket 연결
			Socket socket = new Socket("192.168.0.2", 5000);
			
			// Server에서 update할 file이 있으면 String의 "true", "false"로 구분하여 보내줌.
			socket.getInputStream();
			readline();
			if("true")
				
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
		
    
}
